package cn.tedu.nybikeT.service;

import java.util.List;

import cn.tedu.nybikeT.pojo.InOutVO;
import cn.tedu.nybikeT.pojo.PopularStationVO;
import cn.tedu.nybikeT.pojo.StationSecurityVO;
import cn.tedu.nybikeT.pojo.TopBikeVO;
import cn.tedu.nybikeT.pojo.TripByUserVO;

/**
 * 
 * @author common
 *
 */
public interface IDataAnalysisService {

	// Rory
	/**
	 * 通过某年的发生的所有事故来计算所有站点危险系数
	 * 
	 * @param year   事故发生年份
	 * @param radius 方圆n公里发生的事故作为该站点所关联的事故
	 * @return
	 */
	List<StationSecurityVO> countStationSecurity(Integer year, Integer month, float radius);
	// End

	// hk

	// End

	// late-whale

	// End

	// Asia
		TopBikeVO listGetTopBike();
		
		TripByUserVO listTripUserType();
	// End

	// LRY
	/**
	 * 基于日期查询数据大屏所需数据
	 * 
	 * @param date                  日期
	 * @param topStationCountLimit  最频繁站点排名数量
	 * @param lastStationCountLimit 最不频繁站点排名数量
	 * @return
	 */
	PopularStationVO findPopularStationData(int topStationCountLimit, int lastStationCountLimit);

	/**
	 * 基于日期查询数据大屏所需数据
	 * 
	 * @param stationCountLimit 高频站点数目
	 * @return
	 */
	InOutVO findStationCountData(int stationCountLimit);
	// End
}
